Currently, software applications that make extensive use of a 3D sound stage, such as computer games, typically use one of a few general application program interfaces (“APIs”), such as DirectSound3D® from Microsoft Corporation, or the open standard OpenAL, to communicate data. That data includes, for example, the sounds' position relative to the listener, including the direction, height, distance, initial volume, any distortion effects, and the actual audible noise itself. That data is transmitted to the sound software/hardware that is responsible for the actual physical generation of the sound (the “Sound Generation Layer,” or “SGL”). The SGL comprises the interface API (e.g., DirectSound3D®), the sound card/hardware's software driver, and the sound generation hardware.
The SGL then handles the actual generation of the physical sound based on the data received from the software application. Based on its internal rules, the SGL may decide to reduce the volume of a sound (e.g., a gunshot) to simulate the sound originating as further away from the listener's position. Alternatively, the SGL may be instructed to play the same gunshot sound but simulated at three different positions, and hence would choose which speakers (in potentially varying configurations), the volume, and the balance at which to play the three gunshots. Depending on how successful the SGL is at this, the listener should believe that these would be three distinct shots fired from three different positions despite being the same identical sound file being played.
Certain computer games, such as first person shooter games, provide a large range of audio cues to inform the player of the game such information like enemy footsteps approaching from the rear, rockets whooshing overhead, or an enemy hiding behind a box but quietly reloading his weapon. All this information is particularly critical in a competitive environment, but users are unable to customize the way this information is presented to them. Of course, such information makes generally improves the audio experience of the user of this or other audio applications.
It is thus desirable that the user have available a system and method that allows customization. While peripherally, users may adjust their volume controls so that softer, further away sounds may be heard more clearly, or adjust software/hardware equalizer controls to amplify sounds at specific frequencies, neither of these is particularly satisfactory. Adjusting volumes of soft sounds also mean loud sounds are adjusted.